/************************************
 * created by Tonk (tonk@ctonk.com) *
 ************************************/

// board.h

#ifndef BOARD_H
#define BOARD_H

#include "definitions.h"
#include <fstream>
#include <list>
#include <string>
#include "note.h"

class Board {
	private:
		int					_number;
		int					_level;
		std::string			_name;
		std::string			_file;
		std::list< Note* >	_notes;

	public:
		Board();
		Board( Board& );
		Board( int number, int level, const std::string& name );
		~Board();

		Board& operator = ( Board& );

		void				setNumber( int );
		int					getNumber();
		void				setLevel( int );
		int					getLevel();
		void				setName( std::string );
		std::string			getName();
		std::string			getFile();
		std::list< Note* >&	getNotes();
		Note*				addNote();
		void				dropNote( Note* );

		void	load();
		void	save();
		void	initialize( int, int, std::string );

		static int numBoards;
};



#endif // #ifndef BOARD_H
